package com.osi.project.redis.generate.dao;

import org.apache.ibatis.annotations.Param;
import com.github.pagehelper.Page;
import com.osi.start.common.business.dao.CommonDao;
import com.osi.project.redis.generate.pojo.RedisSlowLogDO;
import com.osi.project.redis.req.RedisSlowLogReqVO;
import com.osi.project.redis.resp.RedisSlowLogRespVO;

/**
 * @Desc  单表通用Dao接口，通过包扫描生效,继承tk.mybatis，对应的xml在mybatis相应的resources中
 * @author pwh
 * @date 2018年01月01日 09:09:09
 * @Copyright (c) onestop
 */
public interface RedisSlowLogCommonDao extends CommonDao<RedisSlowLogDO>{

	/**
	 * 功能：按条件完全匹配查询出分页数据
	 * @param redisSlowLogReqVO
	 * @return
	 */
	Page<RedisSlowLogRespVO> listEqualCondition(RedisSlowLogReqVO redisSlowLogReqVO);

	/**
	 * @param redisSlowLogReqVO 强匹配的对象
	 * @param orderBy 如" create_time desc "
	 * @return
	 * @description 按条件完全匹配查询出分页数据，排序字符串
	 */
	Page<RedisSlowLogRespVO> listEqualConditionOrderBy(@Param("T") RedisSlowLogReqVO redisSlowLogReqVO, @Param("orderBy") String orderBy);

	/**
	 * 功能：按字符串模糊匹配和数字完全匹配查询出分页数据
	 * @param redisSlowLogReqVO
	 * @return
	 */
	Page<RedisSlowLogRespVO> listLikeCondition(RedisSlowLogReqVO redisSlowLogReqVO);


	/**
	 * @param redisSlowLogReqVO 强匹配的对象
	 * @param orderBy 如" create_time desc "
	 * @return
	 * @description 按条件完全匹配查询出分页数据，排序字符串
	 */
	Page<RedisSlowLogRespVO> listLikeConditionOrderBy(@Param("T") RedisSlowLogReqVO redisSlowLogReqVO, @Param("orderBy") String orderBy);

}
